package com.xiaoxx.service;

import com.xiaoxx.coin.po.res.*;
import com.xiaoxx.model.dto.coin.CommonOrderDto;
import com.xiaoxx.model.entity.coin.BinanceApikey;
import com.xiaoxx.model.vo.coin.AccountInfoVo;

import java.time.LocalDateTime;
import java.util.List;

public interface BinanceTradingService {
    AccountInfoVo getAccountInfo(String apiKey,String secretKey);

    AccountBillingInfoResponse getAccountTrading(String apiKey,String secretKey);

    List<CurrentAllOpenOrdersResponse> currentAllOpenOrders(String apiKey,String secretKey);

    BinanceApikey getBinanceApikey(String userId);

    CancelOrderResponse cancelOrder(String apiKey, String secretKey, String symbol, Long orderId);

    CommonOrderResponse createOrder(String apiKey, String secretKey, CommonOrderDto dto);

    CommonOrderResponse queryOrder(String apiKey, String secretKey, String symbol, Long orderId);

    List<CancelOrderResponse> cancelBatchOrders(String apiKey, String secretKey, String symbol, List<Long> orderIdList);

    List<UserTradesResponse> queryUserTrades(String apiKey, String secretKey, String symbol, Long orderId, LocalDateTime startTime, LocalDateTime endTime);
}
